# Dust Sand theme
# (c) 2010 Rico Sta. Cruz, Kido Mariano, James Schriver
# Licensed under the GPL.
# Requires Murrine GTK Engine v0.91.0

gtk_color_scheme = "fg_color:#323232\nbg_color:#C1BDB5\nbase_color:#fff\ntext_color:#323232\nselected_bg_color:#B99573\nselected_fg_color:#fff\ntooltip_bg_color:#ebeab8\ntooltip_fg_color:#323232"

gtk-auto-mnemonics = 1 

style "default"
{
	xthickness = 1
	ythickness = 1

	GtkWidget::new-tooltip-style = 1

	GtkScrolledWindow ::scrollbar-spacing = 1
	GtkScrolledWindow ::scrollbar-within-bevel = 0
	
	GtkButton::child-displacement-x = 1
	GtkButton::child-displacement-y = 1
	GtkButton::default-border = { 0, 0, 0, 0 }

	GtkCheckButton::indicator-size = 14

	GtkPaned::handle-size = 6

	GtkRange::trough-border = 2
	GtkRange::slider-width = 13
	GtkRange::stepper-size = 14
        GtkRange::trough-under-steppers = 1

	GtkScale::slider-length = 18
	GtkScale::trough-side-details = 1

	GtkScrollbar::min-slider-length = 30
	GtkScrollbar::activate-slider = 1
	GtkMenuBar::internal-padding = 0
	GtkExpander::expander-size = 15
	GtkToolbar::internal-padding = 1
	GtkTreeView::expander-size = 15
	GtkTreeView::vertical-separator = 0

	GtkMenu::horizontal-padding = 0
	GtkMenu::vertical-padding = 0

	WnckTasklist::fade-overlay-rect = 0
	# The following line hints to gecko (and possibly other appliations)
	# that the entry should be drawn transparently on the canvas.
	# Without this, gecko will fill in the background of the entry.
	GtkEntry::honors-transparent-bg-hint = 1

        GtkEntry::progress-border = { 2, 2, 2, 2 }
	GtkMenuBar::window-dragging = 1

	GtkWidget::link-color = @selected_bg_color
	GtkWidget::visited-link-color = @text_color

	fg[NORMAL]        = @fg_color
	fg[PRELIGHT]      = @fg_color
	fg[SELECTED]      = @selected_fg_color
	fg[ACTIVE]        = @fg_color
	fg[INSENSITIVE]   = darker (@bg_color)

	bg[NORMAL]        = @bg_color
	bg[PRELIGHT]      = shade (1.02, @bg_color)
	bg[SELECTED]	  = @selected_bg_color
	bg[INSENSITIVE]   = @bg_color
	bg[ACTIVE]        = shade (0.9, @bg_color)

	base[NORMAL]      = @base_color
	base[PRELIGHT]    = shade (0.95, @bg_color)
	base[ACTIVE]      = mix (0.7, @selected_bg_color, @bg_color)
	base[SELECTED]    = @selected_bg_color
	base[INSENSITIVE] = @bg_color

	text[NORMAL]      = @text_color
	text[PRELIGHT]    = @text_color
	text[ACTIVE]      = @selected_fg_color
	text[SELECTED]    = @selected_fg_color
	text[INSENSITIVE] = darker (@bg_color)

engine "murrine" 
	{
		animation           = TRUE  # FALSE = disabled, TRUE = enabled
		arrowstyle          = 1
		border_shades       = { 1.2, 1.0 } # gradient to draw on border
#		border_colors       = { "#E6DDD5", "#E6DDD5" } 
		colorize_scrollbar  = TRUE  # FALSE = disabled, TRUE = enabled
		comboboxstyle       = 0 # colorize the GtkComboBox below the arrow.
		contrast            = .85  # 0.8 for less contrast, more than 1.0 for more contrast on borders
		#focus_color         = @selected_bg_color
		glazestyle          = 5     # 0 = flat, 1 = curved, 2 = concave, 3 = top-curved, 4 = beryl
		glow_shade          = 1.20  # sets glow amount for buttons or widgets
		glowstyle           = 0     # 0 = top, 1 = bottom, 2 = top and bottom, 3 = center (vertical), 4 = center (horizontal) 
		gradient_shades     = { 1.13, 1.02, 1.00, 1.02 } # default: {1.1,1.0,1.0,1.1}
		highlight_shade     = 1.0   # set highlight amount for buttons or widgets
		lightborder_shade   = 1.2   # sets lightborder amount for buttons or widgets
		lightborderstyle    = 1     # 0 = lightborder on top side, 1 = lightborder on all sides
		listviewheaderstyle = 1     # 0 = flat, 1 = glassy, 2 = raised
		listviewstyle       = 2     # 0 = nothing, 1 = dotted 2 = solid
		menubaritemstyle    = 1     # 0 = menuitem look, 1 = button look
		menubarstyle        = 0     # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped
		menuitemstyle       = 1     # 0 = flat, 1 = glassy, 2 = striped
		menustyle           = 0     # 0 = no vertical menu stripe, 1 = display vertical menu stripe
		prelight_shade      = 1.25 #to select the shade level used in the scrollbar's slider, GtkComboBox with comboboxstyle = 1 and in the prelight state with gradient_colors.
 		progressbarstyle    = 0     # 0 = no stripes, 1 = diagonal stripes, 2 = vertical stripes 
		reliefstyle	    = 4     # 0 = flat, 1 = inset, 2 = shadow, = 3 for a gradient on shadow, = 4 for a stronger shadow.
		rgba		    = FALSE # FALSE = disabled, TRUE = enabled
		roundness           = 2     # 0 = squared, 1 = old default, more will increase roundness
		scrollbarstyle      = 0     # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles
		separatorstyle	    = 1
		shadow_shades 	    = { 0.8, 2.2 }
		sliderstyle         = 0     # 0 = nothing added, 1 = handles
		spinbuttonstyle     = 0
		stepperstyle        = 1     # 0 = standard, 1 = integrated stepper handles, 2 = squared steppers with a rounded slider
		#textstyle 	    = 1
		trough_shades       = { 0.98, 1.08 } # draw gradient on trough of GtkScrollbar and GtkProgressbar
		toolbarstyle	    = 2     # 0 = flat, 1 = glassy, 2 = gradient
	}
}

style "wide"
{
	xthickness = 2
	ythickness = 2
}

style "wider"
{
	xthickness = 3
	ythickness = 3
}

style "button" = "wider"
{	
	bg[NORMAL]   = shade (1.10, @bg_color)
	bg[PRELIGHT] = shade(1.05, "#dcd8d5")
	bg[ACTIVE]   = shade (0.85, @bg_color)
	
	engine "murrine"
	{
		border_shades       = { .8, .5} # draw a gradient on the border.
		#border_colors       = { "#C1BDB5", "#D9D4CC" } 
		border_colors	    = { @bg_color, @bg_color}
		contrast = 1.4
		lightborder_shade = 1.06
	}
}

style "entry" = "wider"{

	bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color)
	fg[SELECTED] = @text_color

	engine "murrine" {
		focus_color = shade (0.65, @selected_bg_color)
	}
}

style "toolbar" = "default"
{
    xthickness = 2
    ythickness = 2
    
	bg[NORMAL]       = "#AFA99F" #shade(0.88,@bg_color)
	bg[PRELIGHT]     = "#AFA99F" #shade(0.88,@bg_color)
	bg[ACTIVE]       = "#AFA99F" #shade(0.88,@bg_color)
	bg[SELECTED]     = "#AFA99F" #shade(0.88,@bg_color)
	bg[INSENSITIVE]  = "#AFA99F" #shade(0.88,@bg_color)
	
	engine "pixmap"
	{
		image {
	  		function = BOX
	  		file = "toolbar_o.png"
	  		border = {1,1,1,1}
	  	}
	  	image {
		      function				= HANDLE
		      overlay_file			= "handlebox.png"
		      overlay_stretch 			= FALSE
		      orientation			= HORIZONTAL
		}
        	image {
		      function				= HANDLE
		      overlay_file			= "handlebox.png"
		      overlay_stretch 			= FALSE
		      orientation			= VERTICAL
		}
		image
		{
		       function        			= VLINE
		       recolorable        		= TRUE
		       file                		= "blank.png"
		}
		image
		{
		      function            		= HLINE
		      recolorable        		= TRUE
		      file                		= "blank.png"
		}
    }
}

style "toolbar-item" = "toolbar"
{

	bg[NORMAL]   = "#AFA99F" #shade(0.88,@bg_color)
	bg[PRELIGHT] = "#EFE9DF" #shade(1.1,@bg_color)
	bg[ACTIVE]   = "#CFC9BF" #shade(0.6,@bg_color)
	
	fg[INSENSITIVE] = shade(0.6,@bg_color)
	
	fg[ACTIVE] = @fg_color
	text[ACTIVE] = @fg_color
	
	engine "murrine"{
	}
	
}
style "toolbar-sep" = "toolbar-item"
{
    bg[NORMAL] = shade(0.5, @bg_color)
}

style "notebook" = "wider"
{
	bg[NORMAL] = shade (1.0615, @bg_color)	
	bg[ACTIVE] = shade (0.85, @bg_color)		

  	engine "murrine" 
  	{
		contrast = 1.0
    		lightborder_shade = 1.1
   		highlight_shade	= 1.01
  	}
}

style "panel" {
	engine "murrine" {
	}
}

style "terminal" 
{
text[NORMAL] = "#ffffff"
base[NORMAL] = @selected_bg_color
TerminalScreen::background-darkness=0.75
}

style "menu" 
{
	xthickness = 0
	ythickness = 0
}

style "menu-item" = "default"
{
	fg[PRELIGHT] = @selected_fg_color
	xthickness = 0
	ythickness = 3
	engine "murrine" {
	    glowstyle = 0
	    roundness = 0
	    highlight_shade = 1.0
	    lightborder_shade   = 1.0
	    gradient_shades = {1.1,1.0,1.0,0.7}
	}
}

style "separator-menu-item"
{
	GtkSeparatorMenuItem::horizontal-padding = 2
	GtkWidget::wide-separators = 1
	GtkWidget::separator-width = 1
	GtkWidget::separator-height = 2
	xthickness = 4
	ythickness = 0
	
}

# Based on the default style so that the colors from the button
# style are overriden again.
style "treeview-header" = "default"
{
	xthickness = 2
	ythickness = 1

	bg[NORMAL] = shade(0.9, @bg_color)
        bg[PRELIGHT] = shade(1.0, @bg_color)
        bg[ACTIVE] = shade(0.8, @bg_color)
    
        GtkWidget::focus-line-width = 0
}

style "tooltips"
{
	xthickness = 4
	ythickness = 4

	bg[NORMAL] = @tooltip_bg_color
	fg[NORMAL] = @tooltip_fg_color
}

style "progressbar"
{
	xthickness = 0
	ythickness = 0

	fg[PRELIGHT] = @selected_fg_color
}

style "pixmap-statusbar" = "default"
{
	ythickness = 3
	xthickness = 3

    engine "pixmap"
    {
        image
        {
            function = RESIZE_GRIP
            recolorable = TRUE
            detail = "statusbar"
            overlay_file = "statusgrip.png"
            overlay_border = {0,0,0,0}
            overlay_stretch = TRUE
        }
        image
	{
	   function			= SHADOW
	   shadow			= IN
	   file				= "blank.png"
	}
	image
	{
	   function			= SHADOW
	   shadow			= OUT
	   file				= "blank.png"
	}
	image
	{
	   function		= SHADOW
	   shadow			= ETCHED_IN
	   file				= "blank.png"	
	}
	image
	{
	   function		= SHADOW
	   shadow			= ETCHED_OUT
	   file				= "blank.png"
	}
    }
}

style "comboboxentry" 
{
	ythickness = 3
	xthickness = 3

	engine "murrine"
	{
		contrast = .8
	}
}

style "spinbutton"
{
}

style "scale"
{
	bg[PRELIGHT] = shade(0.9,@bg_color)
	engine "murrine"{
	    roundness = 2
	    contrast = 1.1
	    highlight_shade = 1.2
	    lightborder_shade   = 1.1
	    gradient_shades = {1.0,0.85,0.8,1.0}
	    reliefstyle = 2
	}
}

style "menubar" = "default"
{
	# Static dark color so continuity doesn't break with toolbars
	# when color changes
	#bg[NORMAL] = "#343330"
	engine "pixmap"
	{
		image {
	  		function = BOX
	  		file = "menubar.png"
	  		border = {1,1,1,1}
	  		stretch = TRUE
	  	}
	  	image {
		      function				= HANDLE
		      overlay_file			= "handlebox.png"
		      overlay_stretch 	= FALSE
		      orientation			= HORIZONTAL
		}
        image {
		      function				= HANDLE
		      overlay_file			= "handlebox.png"
		      overlay_stretch 	= FALSE
		      orientation			= VERTICAL
		}
    }
}

style "frame"
{
	#Uncomment for dark statusbars. Breaks some apps. (FIXME: Doesn't work)
	#bg[ACTIVE] = shade(0.2,@bg_color)
	#fg[NORMAL] = mix (1.5, @fg_color, '#ffffff')
	#fg[PRELIGHT] = mix (1.4, @fg_color, '#ffffff')
}

style "frame-title" = "frame"
{
	fg[NORMAL] = lighter (@fg_color)
}

style "nautilus-location"
{
	bg[NORMAL] = mix(0.60, @bg_color, @selected_bg_color)
}

# SZ07: This is added to tell the theme how to color checkmarks and radio items that are not in menus.
style "radiocheck"
{
	text[NORMAL]	= @selected_fg_color	# Color for selected checks/radio items.
	text[PRELIGHT]	= @selected_fg_color	# Color for selected checks/radio items on prelight.
	
	engine "murrine"
	{
	    	roundness = 2
	    	contrast = 1.03
	    	highlight_shade = 1.0
	    	lightborder_shade = 1.0
	    	gradient_shades = {1.1,1.0,1.0,0.9}
	    	reliefstyle = 2 
	}
}

style "scrollbar"
{
	engine "murrine"
	{
		border_shades       = { .5, .5} # draw a gradient on the border.
		border_colors       = { "#D9D4CC", "#D9D4CC" } 
		glazestyle          = 3     # 0 = flat, 1 = curved, 2 = concave, 3 = top-curved, 4 = beryl
		glow_shade          = 1.1   # sets glow amount for buttons or widgets
		glowstyle           = 4     # 0 = top, 1 = bottom, 2 = top and bottom, 3 = center (vertical), 4 = center (horizontal) 
		gradient_shades     = {1.02,1.01,0.96,0.95} # default: {1.1,1.0,1.0,1.1}
		highlight_shade     = 1.1   # set highlight amount for buttons or widgets
		lightborder_shade   = 1.3   # sets lightborder amount for buttons or widgets
		roundness = 5
	}


	bg[SELECTED] = shade (0.6, @bg_color)
}

style "hscrollbar"
{
}

style "vscrollbar"
{
}

#########################################
# Matches
#########################################

# default style is applied to every widget
class "GtkWidget"    style "default"

# Increase the x/ythickness in some widgets
class "GtkRange"     style "default"
class "GtkFrame"     style "frame"
class "GtkSeparator" style "wide"
class "GtkEntry"     style "entry"
class "GtkStatusbar" style "pixmap-statusbar"
class "GtkMenuBar"   style:highest "menubar"
class "GtkRadioButton"	style "radiocheck"	# SZ07: Added for the checkmarks/radio
class "GtkCheckButton"	style "radiocheck"	# SZ07: Added for the checkmarks/radio

class "*HandleBox" style "toolbar"
class "GtkToolbar"   style "toolbar" 
widget_class "*HandleBox" style "toolbar"
widget_class "*<GtkToolbar>.*"   style "toolbar-item"

# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646
style "text-is-fg-color-workaround"
{
	text[NORMAL]      = @fg_color
	text[PRELIGHT]    = @fg_color
	text[SELECTED]    = @selected_fg_color
	text[ACTIVE]      = @fg_color
	text[INSENSITIVE] = darker (@bg_color)
}
widget_class "*.<GtkComboBox>.<GtkCellView>"   style "text-is-fg-color-workaround"

style "text-is-fg-color-workaround-dark"
{
	#Make it work with this theme!
	text[NORMAL] = @fg_color
	text[PRELIGHT] = @selected_fg_color
}

class "GtkSpinButton"  style "spinbutton"
class "GtkScale"       style "scale"
class "GtkVScale"      style "scale"
class "GtkHScale"      style "scale"
class "GtkScrollbar"   style "scrollbar"
class "GtkVScrollbar"  style "vscrollbar"
class "GtkHScrollbar"  style "hscrollbar"
class "GtkButton"      style "button"

# General matching following, the order is choosen so that the right styles override each other
# eg. progressbar needs to be more important then the menu match.

# General matching following, the order is choosen so that the right styles override each other
# eg. progressbar needs to be more important then the menu match.

widget_class "*<GtkNotebook>*<GtkEventBox>"     	style "notebook"
widget_class "*<GtkNotebook>*<GtkDrawingArea>"  	style "notebook"
widget_class "*<GtkNotebook>*<GtkLayout>"       	style "notebook"
widget_class "*<GtkNotebook>"    			style "notebook"
widget_class "*<GtkComboBoxEntry>*"			style:highest "comboboxentry"
widget_class "*<GtkComboBox>*"         			style:highest "comboboxentry"
widget_class "*<GtkOptionMenu>*"         		style:highest "comboboxentry"
widget_class "*<GtkCombo>*"         			style:highest "comboboxentry"


widget_class "*<GtkMenuBar>.*"				style "menu-item"
widget_class "*<GtkMenu>*"              		style "menu"
widget_class "*<GtkMenuItem>*"          		style "menu-item"
widget_class "*<GtkSeparatorMenuItem>*" 		style "separator-menu-item"

widget_class "*<GtkFrame>"  				style "frame"
widget_class "*.<GtkFrame>.<GtkLabel>" 			style "frame-title"

widget_class "*<GtkStatusbar>*"  			style "wider"
widget_class "*<GtkProgressBar>"       			style "progressbar"

# Treeview header
widget_class "*.<GtkTreeView>.<GtkButton>" 		style "treeview-header"
widget_class "*.<GtkCTree>.<GtkButton>"    		style "treeview-header"
widget_class "*.<GtkList>.<GtkButton>"     		style "treeview-header"
widget_class "*.<GtkCList>.<GtkButton>"    		style "treeview-header"

# Panel stuff
widget "*PanelWidget*" 					style "panel"
widget "*PanelApplet*" 					style "panel"
widget "*fast-user-switch*"				style "panel" # Workaround for Fast User Switch applet
class "PanelApp*" 					style "panel"
class "PanelToplevel*" 					style "panel"
widget_class "*Panel*<GtkMenuBar>*"           		style:highest "panel" # The panel menubar
widget "*TomboyTray*"					style "panel" # Workaround for Tomboy
widget "*TomboyApplet*"					style "panel"

#XFCE panel
widget_class "*notif*"					style "panel"
widget_class "*Notif*"					style "panel"
widget_class "*Tray*"					style "panel"
widget_class "*tray*"					style "panel"
widget "*Xfce*Panel*"					style "panel"
class "*Xfce*Panel*"					style "panel"

#Fix textboxes on toolbars (memenu LP:#532843)
style "text-dark" = "default" 
{
}

widget_class "*<GtkToolbar>*<GtkEntry>*" 		style "text-dark"
widget_class "*<GtkMenu>*<GtkEntry>*" 			style "text-dark"

widget "gtk-tooltip*" 					style "tooltips"

###################################################
# Special cases and work arounds
###################################################

# Nautilus sidebar
widget_class "*NautilusSidePane.GtkFrame"	style "pixmap-statusbar"

# Workarounds for Evolution
widget_class "*.ETable.ECanvas"    style "treeview-header"
widget_class "*.ETree.ECanvas"    style "treeview-header"

# Firefox isn't nice to dark themes, so unset the dark stuff.
widget "MozillaGtkWidget*Toolbar*"	style "toolbar-item"
#widget "MozillaGtkWidget*Frame*"	style "default"

# Monodevelop uses an OptionPanel widget, which incidentally is dark in our theme.
# Undo it:
widget "*OptionPanel*"		style "button"
widget "*optionPanel*"		style "button"

# Special case the nautilus-extra-view-widget
# ToDo: A more generic approach for all applications that have a widget like this.
widget "*.nautilus-extra-view-widget" style : highest "nautilus-location"

style "menuitem-text-is-fg-color-workaround" 
{
	text[NORMAL]        = @fg_color
	text[PRELIGHT]      = @selected_fg_color
	text[SELECTED]      = @selected_fg_color
	text[ACTIVE]        = @fg_color
	text[INSENSITIVE]   = darker (@bg_color)
}
widget "*.gtk-combobox-popup-menu.*"   style "menuitem-text-is-fg-color-workaround"

# Work around the usage of GtkLabel inside GtkListItems to display text.
# This breaks because the label is shown on a background that is based on the
# base color set.
style "fg-is-text-color-workaround"
{
	fg[NORMAL]      = @text_color
	fg[PRELIGHT]    = @text_color
	fg[ACTIVE]      = @selected_fg_color
	fg[SELECTED]    = @selected_fg_color
	fg[INSENSITIVE] = darker (@bg_color)
}
widget_class "*<GtkListItem>*" style "fg-is-text-color-workaround"
# The same problem also exists for GtkCList and GtkCTree
# Only match GtkCList and not the parent widgets, because that would also change the headers.
widget_class "*<GtkCList>" style "fg-is-text-color-workaround"

style "evo-new-button-workaround" 
{
	engine "murrine"
	{
		toolbarstyle = 0
	}
}

widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "evo-new-button-workaround"

#Rhythmbox toolbar near the search entry. Use default + wide so that it doesn't turn dark.
style "rhythmbox-header" = "default"
{
	xthickness = 3
	ythickness = 3
	engine "murrine" {
	}
}
widget "*RBSourceHeader*"	style:highest "rhythmbox-header"
widget "*HeaderToolbar*"	style:highest "rhythmbox-header"
widget "*FooterToolbar*"	style:highest "rhythmbox-header"

widget "*swt*toolbar*"	style "default"

style "dialog" = "dark"
{
    bg[NORMAL] = mix(0.4, @selected_bg_color, shade(0.7, @bg_color))
    fg[NORMAL] = shade(0.5, @fg_color)
    text[NORMAL] = shade(0.5, @text_color)
}
style "dialog-button" = "dark"
{
    bg[NORMAL] = shade(0.15, @bg_color)
    bg[PRELIGHT] = shade(0.18, @bg_color)
}

class "TerminalScreen" style "terminal"
